package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.WmsPalletSorting;
import com.jy.wms.pojo.WmsReceiptTaskPda;
import com.jy.wms.pojo.WmsReceiptTaskPdaDetailed;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @ClassName: WmsReceiptTaskPdaMapper.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author Liyi
* @Date Thu Nov 30 10:04:14 CST 2017
*/
public interface WmsReceiptTaskPdaMapper extends BaseDao<WmsReceiptTaskPda> {

    /**
     * 根据预期到货通知单ID查询PDA收货信息
     * @param yqid
     * @return
     */
    public WmsReceiptTaskPda getByYqid(@Param("yqid") String yqid);

    /**
     * 根据PDA收货任务主表信息查询明细列表
     * @param id
     * @return
     */
    public List<WmsReceiptTaskPdaDetailed> getDetailedById(@Param("id") Integer id);

/**
 * 插入一条记录
 * @param entity 实体对象
 * @return int
 */
 public Integer baseInsert(@Param("WmsReceiptTaskPda") WmsReceiptTaskPda entity);

/**
 * 插入一条记录（匹配有值的字段）
 * @param entity 实体对象
 * @return int
 */
public Integer baseInsertSelective(@Param("WmsReceiptTaskPda") WmsReceiptTaskPda entity);

/**
 * 删除（根据主键ID删除）
 * @param id 主键
 * @return int
 */
public Integer baseDeleteByPrimaryKey(@Param("id") String id);

/**
 * 删除（根据ID 批量删除）
 * @param idList 主键ID列表
 * @return int
 */
 public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList);

    /**
     *  删除（预期到货通知单ID列表）
     * @param idList
     * @return
     */
 public Integer baseDeleteBathPrimaryYqids(@Param("list") List<String> idList);


    /**
     * 查询（预期到货单ID查询所有PDA收货单IDs）
     * @param yqids 预期到货单IDs
     * @return User
     */
    public List<String> baseSelectByPrimaryYqid(@Param("list") List<String> yqids);

 /**
 * 分页查询
 * @param entity 实体
 * @return List<WmsReceiptTaskPda>
 */
 public List<WmsReceiptTaskPda> baseSelectPage(@Param("WmsReceiptTaskPda") WmsReceiptTaskPda entity);

 /**
 * 查询（根据主键ID查询）
 * @param id 主键ID
 * @return User
 */
 public WmsReceiptTaskPda baseSelectByPrimaryKey(@Param("id") String id);

/**
 * 查询（根据ID 批量查询）
 * @param idList 主键ID列表
 * @return list
 */
 public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsReceiptTaskPda> idList);

/**
 *修改 （匹配有值的字段）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKeySelective(@Param("WmsReceiptTaskPda") WmsReceiptTaskPda entity);

/**
 *修改（根据主键ID修改）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKey(@Param("WmsReceiptTaskPda") WmsReceiptTaskPda entity);

    /**
     * 根据预期到货通知单明细查询对应的码盘列表
     * @param yqdmxid 预期到货明细ID
     * @return
     */
 public List<WmsPalletSorting> getPalletSorting(@Param("yqdmxid") String yqdmxid);
}
